docs(adr): add ADR 0066 for interactive admin install guide#3020
docs(adr): add ADR 0066 for interactive admin install guide#3020ifireball wants to merge 3 commits into
Conversation
Record the decision to revive admin install as a guided orchestrator over existing mint/github/inference/repos phases, with a shared decision tree for humans and agent skills. Signed-off-by: Barak Korren <bkorren@redhat.com> Co-authored-by: Cursor <cursoragent@cursor.com>
|
🤖 Review · |
PR Summary by QodoAdd ADR 0066: guided interactive
AI Description
Diagram
High-Level Assessment
Files changed (2)
|
Site previewPreview: https://46b83fee-site.fullsend-ai.workers.dev Commit: |
Code Review by Qodo
1.
|
Codecov Report✅ All modified and coverable lines are covered by tests. 📢 Thoughts on this report? Let us know! |
Clarify that the monolithic all-in-one admin install path is deprecated, not the future guided orchestrator described in ADR 0066. Update advanced-setup and cli-internals to cross-reference the ADR and note the interactive wizard is follow-on work. Signed-off-by: Barak Korren <bkorren@redhat.com> Co-authored-by: Cursor <cursoragent@cursor.com>
|
🤖 Finished Review · ✅ Success · Started 11:03 AM UTC · Completed 11:16 AM UTC |
ReviewFindingsLow
Previous runReviewFindingsLow
Labels: PR adds a new ADR about the install entry point and updates installation documentation |
Resolve docs/architecture.md conflict by keeping both ADR 0066 (interactive admin install guide) and ADR 0067 (GitLab cron polling dispatch). Signed-off-by: Barak Korren <bkorren@redhat.com> Co-authored-by: Cursor <cursoragent@cursor.com>
|
🤖 Review · ❌ Terminated · Started 7:32 AM UTC · Ended 7:49 AM UTC |
|
Addressed the Qodo docs-conflict finding in |
|
🤖 Finished Review · ✅ Success · Started 7:32 AM UTC · Completed 7:49 AM UTC |
| ## Context | ||
|
|
||
| Fullsend installation spans mint trust, inference WIF, GitHub Apps, scaffold | ||
| delivery, and per-repo vs per-org scope. Standalone commands (`mint`, |
There was a problem hiding this comment.
Per-org is deprecated, not worth adding it here in my opinion.
| That split reduced coupling but increased cognitive load: adopters must | ||
| understand which role runs which phase, whether to use the hosted mint or a | ||
| private one, how many GCP projects are involved, and whether | ||
| [ADR 0047](0047-vendored-installs-with-vendor-flag.md) vendoring applies — from | ||
| a single repo on hosted services through a multi-org footprint with private | ||
| mints and several inference accounts. Agents assisting onboarding face the same | ||
| matrix without a single machine-readable decision model. |
There was a problem hiding this comment.
I dont think this is true. The decoupling removed cognitive load. Users know fullsend mint is to be run by the admin team, so they don't need to understand it. So they don't need to understand if they need a hosted mint or a private one. Vendoring is not even exposed to them in the getting started guide. They do know a single GCP is involved (see the getting inference guide). And nowhere in the getting started roles are mentioned, so they don't need to understand them right away.
They can defer acquiring the knowledge, they are not even expose to much of this knowledge up front. That is reserved for "next steps".
So I would say this premise is false
| ### Option C: New top-level `fullsend install` | ||
|
|
||
| Same behavior as B but a new command. Rejected — `admin install` is already the | ||
| familiar entry point and matches org-admin mental models. |
There was a problem hiding this comment.
I would go with this, if we aim to simplify, we should surface this to top level so it is easier.
| ## Decision | ||
|
|
||
| 1. **Revive `admin install` as a guide, not a monolith.** The command | ||
| orchestrates installation; it does not re-inline GCP provisioning, mint |
There was a problem hiding this comment.
"it does not re-inline GCP provisioning, ming dpeloy or GitHub layer logic" seems contradictory with the next point, where it says that non-interactive usage keeps today's explicit flags. I would just keep it as an interactive way of installing.
| 3. **Published decision tree.** Maintain a versioned install decision tree | ||
| (YAML) in-repo describing questions, branches, prerequisites, and the | ||
| subcommand(s) each leaf executes. The CLI loads it; changes to install | ||
| matrix update the tree, not scattered help text. |
There was a problem hiding this comment.
Could you add an example of the decision tree? I don't see the difference between storing a decision tree and just storing the answers.
| - User-facing docs that deprecated all-in-one `admin install` should be | ||
| annotated: deprecated as an opaque monolith, not as the guided entry point. |
There was a problem hiding this comment.
I don't see value in annotating them, just remove them and add the new ones in place. The docs would talk about the command being an interactive experience.
| - The decision tree becomes a maintained product artifact; install changes | ||
| require tree updates and tests. | ||
| - Agents gain a bounded, testable install guide instead of improvising from | ||
| prose docs. |
There was a problem hiding this comment.
Could you expand a bit on the testability?
Summary
admin installas an interactive guided orchestrator, not a monolithic provisioner.mint/github/inference/reposphases.--planemits composed commands without executing.docs/architecture.mdwith the decided interactive install entry point.Context
Standalone install commands reduced coupling but increased cognitive load. Recent docs deprecated all-in-one
admin installas opaque; this ADR reframes it as the guided entry point while keeping per-repo as the default path (ADR 0044).Test plan
make lintpasses (ADR frontmatter, numbers, link scope)Made with Cursor